//
// CTVInputFilters.h
//

#ifndef __H_CTVInputFilters__
#define __H_CTVInputFilters__

#include "CAnalogInputFilters.h"

class CTVInputFilters : public CAnalogInputFilters
{
private:
	IAMTVTuner *   mTvTuner;

public:
	CTVInputFilters(CDXGraph * inGraph);
	virtual ~CTVInputFilters();

public:
	virtual BOOL Create(void);

	// TV Channel operations
	long GetCountryCode(void);
	BOOL SetCountryCode(long inCode);
	TunerInputType GetTunerInputType(void);
	BOOL SetTunerInputType(TunerInputType inType);
	long GetTVChannel(void);
	BOOL SetTVChannel(long inFrequencyIndex);
	BOOL GetChannelMinMax(long * outMin, long * outMax);
	Signal_Resolution GetTunerResolution(void);
	void DemoTVChannelAutoTune(void);
	
	// VBI operations
	BOOL TryCCFilters(void);
	BOOL DisplayClosedCaption(BOOL inIsOn);

	BOOL TryWSTFilters(void);
	void Verify_VPVBI_Connection(void);
	BOOL CTVInputFilters::DisplayWSTText(BOOL inIsOn);

	virtual void ShowTVTunerPropertyPage(void);

protected:
	virtual void Release(void);
	BOOL FindTVTuner(void);
};

#endif // __H_CTVInputFilters__